package com.ruoyi.mp.domain;

import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 公众号菜单对象 mp_menu
 *
 * @author ruoyi
 * @date 2023-11-18
 */
public class MpMenu extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 微信公众号ID */
    @Excel(name = "微信公众号ID")
    private Long accountId;

    /** 微信公众号 appid */
    @Excel(name = "微信公众号 appid")
    private String appId;

    /** 菜单名称 */
    @Excel(name = "菜单名称")
    private String name;

    /** 菜单标识 */
    @Excel(name = "菜单标识")
    private String menuKey;

    /** 父ID */
    @Excel(name = "父ID")
    private String parentId;

    /** 按钮类型 */
    @Excel(name = "按钮类型")
    private String type;

    /** 网页链接 */
    @Excel(name = "网页链接")
    private String url;

    /** 小程序appid */
    @Excel(name = "小程序appid")
    private String miniProgramAppId;

    /** 小程序页面路径 */
    @Excel(name = "小程序页面路径")
    private String miniProgramPagePath;

    /** 跳转图文的媒体编号 */
    @Excel(name = "跳转图文的媒体编号")
    private String articleId;

    /** 消息类型 */
    @Excel(name = "消息类型")
    private String replyMessageType;

    /** 回复的消息内容 */
    @Excel(name = "回复的消息内容")
    private String replyContent;

    /** 回复的媒体文件 id */
    @Excel(name = "回复的媒体文件 id")
    private String replyMediaId;

    /** 回复的媒体文件 URL */
    @Excel(name = "回复的媒体文件 URL")
    private String replyMediaUrl;

    /** 回复的标题 */
    @Excel(name = "回复的标题")
    private String replyTitle;

    /** 回复的描述 */
    @Excel(name = "回复的描述")
    private String replyDescription;

    /** 回复的缩略图的媒体 id */
    @Excel(name = "回复的缩略图的媒体 id")
    private String replyThumbMediaId;

    /** 回复的缩略图的媒体 URL */
    @Excel(name = "回复的缩略图的媒体 URL")
    private String replyThumbMediaUrl;

    /** 回复的图文消息数组 */
    @Excel(name = "回复的图文消息数组")
    private String replyArticles;

    /** 回复的音乐链接 */
    @Excel(name = "回复的音乐链接")
    private String replyMusicUrl;

    /** 回复的高质量音乐链接 */
    @Excel(name = "回复的高质量音乐链接")
    private String replyHqMusicUrl;
    /** 租户编号 */
    @Excel(name = "租户编号")
    private Long tenantId;

    public List<MpMenu> childrn;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setAccountId(Long accountId)
    {
        this.accountId = accountId;
    }

    public Long getAccountId()
    {
        return accountId;
    }
    public void setAppId(String appId)
    {
        this.appId = appId;
    }

    public String getAppId()
    {
        return appId;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setMenuKey(String menuKey)
    {
        this.menuKey = menuKey;
    }

    public String getMenuKey()
    {
        return menuKey;
    }
    public void setParentId(String parentId)
    {
        this.parentId = parentId;
    }

    public String getParentId()
    {
        return parentId;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setUrl(String url)
    {
        this.url = url;
    }

    public String getUrl()
    {
        return url;
    }
    public void setMiniProgramAppId(String miniProgramAppId)
    {
        this.miniProgramAppId = miniProgramAppId;
    }

    public String getMiniProgramAppId()
    {
        return miniProgramAppId;
    }
    public void setMiniProgramPagePath(String miniProgramPagePath)
    {
        this.miniProgramPagePath = miniProgramPagePath;
    }

    public String getMiniProgramPagePath()
    {
        return miniProgramPagePath;
    }
    public void setArticleId(String articleId)
    {
        this.articleId = articleId;
    }

    public String getArticleId()
    {
        return articleId;
    }
    public void setReplyMessageType(String replyMessageType)
    {
        this.replyMessageType = replyMessageType;
    }

    public String getReplyMessageType()
    {
        return replyMessageType;
    }
    public void setReplyContent(String replyContent)
    {
        this.replyContent = replyContent;
    }

    public String getReplyContent()
    {
        return replyContent;
    }
    public void setReplyMediaId(String replyMediaId)
    {
        this.replyMediaId = replyMediaId;
    }

    public String getReplyMediaId()
    {
        return replyMediaId;
    }
    public void setReplyMediaUrl(String replyMediaUrl)
    {
        this.replyMediaUrl = replyMediaUrl;
    }

    public String getReplyMediaUrl()
    {
        return replyMediaUrl;
    }
    public void setReplyTitle(String replyTitle)
    {
        this.replyTitle = replyTitle;
    }

    public String getReplyTitle()
    {
        return replyTitle;
    }
    public void setReplyDescription(String replyDescription)
    {
        this.replyDescription = replyDescription;
    }

    public String getReplyDescription()
    {
        return replyDescription;
    }
    public void setReplyThumbMediaId(String replyThumbMediaId)
    {
        this.replyThumbMediaId = replyThumbMediaId;
    }

    public String getReplyThumbMediaId()
    {
        return replyThumbMediaId;
    }
    public void setReplyThumbMediaUrl(String replyThumbMediaUrl)
    {
        this.replyThumbMediaUrl = replyThumbMediaUrl;
    }

    public String getReplyThumbMediaUrl()
    {
        return replyThumbMediaUrl;
    }
    public void setReplyArticles(String replyArticles)
    {
        this.replyArticles = replyArticles;
    }

    public String getReplyArticles()
    {
        return replyArticles;
    }
    public void setReplyMusicUrl(String replyMusicUrl)
    {
        this.replyMusicUrl = replyMusicUrl;
    }

    public String getReplyMusicUrl()
    {
        return replyMusicUrl;
    }
    public void setReplyHqMusicUrl(String replyHqMusicUrl)
    {
        this.replyHqMusicUrl = replyHqMusicUrl;
    }

    public String getReplyHqMusicUrl()
    {
        return replyHqMusicUrl;
    }
    public void setTenantId(Long tenantId)
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId()
    {
        return tenantId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("accountId", getAccountId())
            .append("appId", getAppId())
            .append("name", getName())
            .append("menuKey", getMenuKey())
            .append("parentId", getParentId())
            .append("type", getType())
            .append("url", getUrl())
            .append("miniProgramAppId", getMiniProgramAppId())
            .append("miniProgramPagePath", getMiniProgramPagePath())
            .append("articleId", getArticleId())
            .append("replyMessageType", getReplyMessageType())
            .append("replyContent", getReplyContent())
            .append("replyMediaId", getReplyMediaId())
            .append("replyMediaUrl", getReplyMediaUrl())
            .append("replyTitle", getReplyTitle())
            .append("replyDescription", getReplyDescription())
            .append("replyThumbMediaId", getReplyThumbMediaId())
            .append("replyThumbMediaUrl", getReplyThumbMediaUrl())
            .append("replyArticles", getReplyArticles())
            .append("replyMusicUrl", getReplyMusicUrl())
            .append("replyHqMusicUrl", getReplyHqMusicUrl())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("tenantId", getTenantId())
            .toString();
    }
}
